
#include <iostream>
#include <pthread.h>
using namespace std;
namespace ns_task
{
  class Task
  {
  private:
    int _x;
    int _y;
    char _op; //+-*/%
  public:
    Task() {}
    Task(int x, int y, char op)
        : _x(x), _y(y), _op(op)
    {
    }
    int Run()
    {
      int res = 0;
      switch (_op)
      {
      case '+':
        res = _x + _y;
        break;
      case '-':
        res = _x - _y;
        break;
      case '*':
        res = _x * _y;
        break;
      case '/':
        res = _x / _y;
        break;
      case '%':
        res = _x / _y;
        break;
      default:
        cout<<"bug"<<endl;
        break;
      }
      cout<<"当前任务被："<<pthread_self()<<"处理"<<_x<<_op<<_y<<"="<<res<<endl;
    }
    int operator()()
    {
      return Run();
    }
    ~Task()
    {}
  };
}